package edu.mercer.sse.bkp;

/**
 * Rolls back command previously executed.<p>
 * 
 * Command Pattern: undo.<br> 
 * 
 * Extends Command interface, adds undo method.<p>
 * 
 * @param <W> - Generic unbounded, return of execute
 * 
 * @param <Y> - Generic bounded by Object, return of undo
 * 
 * @see Command
 */

public interface CommandRecall<W,
							   Y extends Object> 

			extends Command<W>
{
	/**
	 * Rolls back command previously executed.<p>
	 * 
	 * Attempts to undo Command. Implies previous execute(). Suggested usage:
	 * 	Boolean return for successful undo()</p>
	 * 
	 * @return  Generic bounded by Object, result of Undo
	 */
	
	Y undo();
	
}//interface

